home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung / Power-Programmierung (Tewi)(1994).iso / magazine / pctchnqs / 1990 / number3 / debug.pas < prev    next >
Pascal/Delphi Source File  |  1990-05-14  |  996b  |  44 lines

  1. {$A+,B+,D+,E-,F-,I+,L+,N-,O-,R+,S+,V+}
  2. {$M 16384,0,655360}
  3. {$DEFINE Debug}
  4. PROGRAM debug;
  5. VAR
  6.   W : Word;
  7.   L : LongInt;
  8. {$IFDEF Debug}
  9.   OldL : LongInt;
  10.  
  11.   PROCEDURE Nop; INLINE($90);
  12. {$ENDIF}
  13.  
  14.   PROCEDURE Debuggee(I : Integer);
  15.   {$IFDEF Debug} CONST PassCount : Word = 0; {$ENDIF}
  16.   BEGIN
  17.   {$IFDEF Debug}
  18.     IF I < 0 THEN  {CONDITIONAL breakpoint}
  19.       nop;         {<=== Put IDE breakpoint (Ctrl-F8) here}
  20.   {$ENDIF}
  21.     I := Round(Sqrt(I));
  22.  
  23.   {$IFDEF Debug}
  24.     Inc(PassCount);
  25.     IF PassCount = 10 THEN {PASS COUNT breakpoint}
  26.       PassCount := 0; {<=== Put IDE breakpoint (Ctrl-F8) here}
  27.   {$ENDIF}
  28.   END;
  29.  
  30. BEGIN
  31.   L := $DEFACED;
  32.   {$IFDEF Debug} OldL := L; {$ENDIF}
  33.   Randomize;
  34.  
  35.   FOR W := 1 to 20 DO
  36.     Debuggee(Integer(Random(10))-1);
  37.   FillChar(W, 4, 0); {Oooops! Accidentally overwrote L}
  38.   {$IFDEF Debug}
  39.   IF OldL <> L THEN {CHANGED MEMORY breakpoint}
  40.     nop;            {<=== Put IDE breakpoint (Ctrl-F8) here}
  41.   {$ENDIF}
  42. END.
  43.  
  44.